package org.dromara.netbar.domain.vo;

import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.netbar.domain.NetbarMemberLog;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 刷身份证记录视图对象 netbar_member_log
 *
 * @author Lion Li
 * @date 2025-06-30
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = NetbarMemberLog.class)
public class NetbarMemberLogVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String name;

    /**
     * 身份证类型
     */
    @ExcelProperty(value = "身份证类型")
    private String idCardType;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号")
    private String idCard;

    /**
     * 出生日期
     */
    @ExcelProperty(value = "出生日期")
    private String dob;

    /**
     * 民族
     */
    @ExcelProperty(value = "民族")
    private String ethnicity;

    /**
     * 住址地址
     */
    @ExcelProperty(value = "住址地址")
    private String address;

    /**
     * 发证机关
     */
    @ExcelProperty(value = "发证机关")
    private String police;

    /**
     * 身份证有效期限-开始
     */
    @ExcelProperty(value = "身份证有效期限-开始")
    private String userlifeb;

    /**
     * 身份证有效期限-结束
     */
    @ExcelProperty(value = "身份证有效期限-结束")
    private String userlifee;

    /**
     * 身份证base64
     */
    @ExcelProperty(value = "身份证base64")
    private String photobase64;

    /**
     * 身份证base64Url
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "photobase64")
    private String photobase64Url;
    /**
     * 身份证正面
     */
    @ExcelProperty(value = "身份证正面")
    private String frontImg;

    /**
     * 身份证正面Url
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "frontImg")
    private String frontImgUrl;
    /**
     * 身份证背面
     */
    @ExcelProperty(value = "身份证背面")
    private String backImg;

    /**
     * 身份证背面Url
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "backImg")
    private String backImgUrl;
    /**
     * 性别（0男 1女 2未知）
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sysUserSex")
    private String sex;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;
}
